testsuite: Assorted leak fixes
authorMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jul 2020 21:43:14 +0000 (17:43 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jul 2020 21:44:49 +0000 (17:44 -0400)
All found by asan.

testsuite/gtk/filtermodel.c
testsuite/gtk/shortcuts.c
testsuite/gtk/test-focus-chain.c
testsuite/gtk/textbuffer.c
testsuite/reftests/gtk-reftest.c

index 53c1d93b6fc0f85ab81164edfbb95f4e2650be86..5b03a93cf2bb12b8091feaa2e24d4fffcaa17c09 100644 (file)
@@ -5971,6 +5971,7 @@ specific_bug_346800 (void)
   columns[1] = G_TYPE_BOOLEAN;
   store = gtk_tree_store_newv (2, columns);
   model = GTK_TREE_MODEL (store);
+  GList *junk = NULL;
 
   /*http://bugzilla.gnome.org/show_bug.cgi?id=346800 */
 
@@ -5981,14 +5982,14 @@ specific_bug_346800 (void)
     {
       /* allocate random amounts of junk, otherwise the filter model's arrays can expand without moving */
 
-      g_malloc (138);
+      junk = g_list_append (junk, g_malloc (138));
       gtk_tree_store_append (store, &node_iters[i], NULL);
       gtk_tree_store_set (store, &node_iters[i],
                           0, "something",
                           1, ((i%6) == 0) ? FALSE : TRUE,
                           -1);
 
-      g_malloc (47);
+      junk = g_list_append (junk, g_malloc (47));
       gtk_tree_store_append (store, &child_iters[i], &node_iters[i]);
       gtk_tree_store_set (store, &child_iters[i],
                           0, "something else",
@@ -6007,6 +6008,8 @@ specific_bug_346800 (void)
           gtk_tree_model_filter_refilter (filter);
         }
     }
+
+  g_list_free_full (junk, g_free);
 }
 
 static gboolean
index 887d53b3b08caf9656b7bdd00341f2588419e6ec..085e3026e27143a3acd1de1a49ac263fce1c9c3e 100644 (file)
@@ -354,6 +354,8 @@ test_trigger_trigger (void)
         }
 
       gdk_event_unref (event);
+
+      g_free (keys);
     }
 
   gdk_surface_destroy (surface);
index 5419dbc2aef93a82db8fca39a0625a8a8f9c5731..77ec3814d66ec764454bca282b7858b03b86c398 100644 (file)
@@ -304,6 +304,7 @@ main (int argc, char **argv)
       g_error ("Option parsing failed: %s\n", error->message);
       return 1;
     }
+  g_option_context_free (context);
 
   gtk_init ();
 
index 33b3048d3d382e939e3206f64af7af9d61a3b3de..1f2b95ff379de7d5b81bc53feb56951e1ef0b895 100644 (file)
@@ -1360,6 +1360,7 @@ check_buffer_contents (GtkTextBuffer *buffer,
   gtk_text_buffer_get_end_iter (buffer, &end);
   buffer_contents = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
   g_assert_cmpstr (buffer_contents, ==, contents);
+  g_free (buffer_contents);
 }
 
 static void
index 41e28c05b91ce4def4888f676ccbc651cf60128c..3fd90cd3e7a870413b613e195d859df8fd93640b 100644 (file)
@@ -78,6 +78,7 @@ parse_command_line (int *argc, char ***argv)
       g_print ("option parsing failed: %s\n", error->message);
       return FALSE;
     }
+  g_option_context_free (context);
 
   for (i = 0; i < *argc; i++)
     {
@@ -325,6 +326,8 @@ test_ui_file (GFile *file)
     }
 
   remove_extra_css (provider);
+
+  g_free (ui_file);
 }
 
 static int